package com.yidusoft.service;
import com.yidusoft.domain.SecMenu;
import com.yidusoft.core.Service;
import com.yidusoft.utils.TreeNode;

import java.util.List;


/**
 * Created by CodeGenerator on 2017/07/16.
 */
public interface SecMenuService extends Service<SecMenu> {
    List<SecMenu> menuListByRoleId(String roleId);
    List<TreeNode> menuTree();
    //查询用户的权限菜单
    List<SecMenu> menuToTree(String id);
    List<SecMenu> queryAll();
    List<SecMenu> loadUserMenu(String userId);//加载用户菜单
    List<SecMenu> getMenu(SecMenu secMenu);
    //查询可用 没被删除的菜单
    List<SecMenu> getMenuForAvailable();

    /**
     * 删除排序
     * @param menuId
     */
    void deleteSort(String menuId);

    /**
     * 增加排序
     * @param parentId
     * @param sort
     */
    void addSort(String parentId,int sort);

    /**
     * 修改排序
     * @param menuId
     * @param newSort
     */
    void updateSort(String menuId,int newSort);

    /**
     * 查出所有子菜单的排序
     * @param parentId
     */
    List<Integer> querySort(String parentId);

    /**
     * 查询菜单下有没有子目录
     * @param id
     * @return
     */
    List<String> getChildrenById(String id);
}
